// pages/CheShi6/CheShi6.js
Page({
    data: {
        url: 'https://ext.dcloud.net.cn/plugin?id=223',
        showPopup: false,
        nickname: '',
        password: '',
        newPassword: '',
        imageUrl: "/images/addPhoto.png",  // 初始化的图片地址
        showModal: false,  // 控制弹窗的显示和隐藏
        shareFeedback: '',
        userInfo: null,
        animateClass: '',
        avatars: [],
        userInfo: null,
        animateClass: '', // 初始时，动画样式为空
        showView: false, // 控制 View 是否显示
        imageUrl: null,
        inputValue: '',
        showModal2: false,   // 添加一个显示模态框状态的变量
        showModalStatus: false,
    },
    onLoad: function() {
        
    },


    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        var that2 = this;
        var userInfo = wx.getStorageSync('userInfo');
        this.setData({ userInfo: userInfo });
        console.log(this.data.userInfo)
        wx.request({
            url: 'http://47.95.223.130:8083/Sculpture/query', // 这里需要替换为你的服务器实际 URL
            method: 'GET',
            data: {
              user_id: that2.data.userInfo.uuid
            },
            success (res) {
              if(res.data.code === 200) {
                console.log(that2.data.userInfo.uuid)
                  console.log(res)
                that.setData({
                  imageUrl: res.data.data
                });
              } else {
                console.log('请求错误：' + res.data.message);
              }
            },
            fail (err) {
              console.log(err);
            }
          });

      let that = this;
      
      console.log(that.data.userInfo)
      // 发起获取头像的请求
    wx.request({
        url: 'http://47.95.223.130:8083/Sculpture/get',
        method: 'GET',
        success: function(res) {
          if (res.data.code === 200) {
            that.setData({
              avatars: res.data.data
            })
            console.log(that.data.avatars)
          } else {
            wx.showToast({
              title: '获取头像失败',
              icon: 'none'
            })
          }
        },
        fail: function() {
          wx.showToast({
            title: '网络请求失败',
            icon: 'none'
          })
        }
      })
    },

    navigateToLogin: function() {
        wx.navigateTo({
          url: '/pages/CheShi2/CheShi2' 
        })
      },



     // 显示退出登陆弹窗
     showLogoutModal: function() {
        this.setData({ showModal: true });
    },

    // 隐藏退出登陆弹窗
    hideLogoutModal: function() {
        this.setData({ showModal: false });
    },

    // 清除缓存并退出
    // 功能：清除所有系统缓存!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    clearCacheAndLogout: function() {
        try {
            wx.removeStorageSync('userInfo');
            console.log('成功清空了系统缓存“userInfo”');
          } 
          catch (e) {
            console.log('清空系统缓存“userInfo”');
          }
          this.onShow();
          console.log('已刷新页面');
          
          
        //wx.clearStorageSync();  // 去除注释后：清除所有系统缓存!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        this.setData({ showModal: false });
        this.onLoad()
        //可以在此处添加其他退出登陆的操作，例如重定向到登陆页面
    },




    // 点击图片触发替换图片
  changeImage: function () {
    const that = this;
    wx.showActionSheet({
      itemList: ['搜索本地图片'],
      success(res) {
        if (res.tapIndex === 0) {
          wx.chooseImage({
            success(res) {
              const tempFilePaths = res.tempFilePaths;
              wx.setStorageSync('userImageStorage', tempFilePaths[0]); // 存储新图片地址到系统缓存
              that.setData({
                imageUrl: tempFilePaths[0]  // 更新显示的图片
              });
            }
          })
        }
      }
    })
  },





    methods: {
        // 您可以在这里添加方法
        changeSkin: function() {
            // 主题切换的方法
        }
        // ... 其他方法 ...
    },
    changeSkin: function() {
        this.setData({ showPopup: true });
      },
    
      handleNicknameInput: function(e) {
        this.setData({ nickname: e.detail.value });
      },
    
      handlePasswordInput: function(e) {
        this.setData({ password: e.detail.value });
      },
    
      handleNewPasswordInput: function(e) {
        this.setData({ newPassword: e.detail.value });
      },
    
      handleConfirm: function() {
        if (!this.data.nickname || !this.data.password || !this.data.newPassword) {
          wx.showToast({ title: '所有字段均为必填', icon: 'none' });
          return;
        } else {
            
        }
        
        if (this.data.newPassword.length < 6 || this.data.newPassword.length > 10) {
          wx.showToast({ title: '新密码长度需在6-10位之间', icon: 'none' });
          return;
        }
          console.log(this.data.nickname);
          console.log(this.data.password);
          console.log(this.data.newPassword);
        wx.request({
          url: 'http://47.95.223.130:8083/User/update',
          method: 'POST',
        //   header: {
        //       'content-type': 'application/x-www-form-urlencoded'
        //   },
          data: {
            nickname: this.data.nickname,
            password: this.data.password,
            newPassword: this.data.newPassword
          },
          success: (res) => {
            // 根据返回数据进行相应处理
            console.log(res)
            if (res.data.code === 200) { // 确保服务器的响应数据中包含一个code字段来表示请求是否成功
              this.setData({
                account: res.data.account, // 假设账号数据在响应的account字段中
              });
              // 显示注册成功的提示
              wx.showToast({ title: '修改成功', icon: 'none' });
            } else {
              // 处理注册失败的情况
              this.setData({
                  account: res.data.account, // 假设账号数据在响应的account字段中
                });
              wx.showToast({ title: '昵称或密码错误', icon: 'none' });
            }
            
          }
        });
        
        this.setData({ showPopup: false });
        
      },
    
      handleCancel: function() {
        this.setData({ showPopup: false });
      },

      navigateToCheShi3: function() {
        wx.navigateTo({
          url: '/pages/CeShi9/CeShi9',
        })
      },

      navigateToCheShi6: function() {
        wx.navigateTo({
          url: '/pages/Cheshi6/Cheshi6',
        })
      },

      navigateTorank: function() {
        wx.navigateTo({
          url: '/pages/rank/rank'
        });
      },



    // 分享处理函数
  onShareAppMessage: function() {
    return {
      title: '背单词小程序',
      path: '/pages/User/User',
      success: () => {
        this.setData({ shareFeedback: '感谢分享~~' });
        setTimeout(()=> {
          this.setData({ shareFeedback: '' });
        }, 1000);  // 1000毫秒后执行，即1秒后执行
      }
    };
  },

  // 点击View触发分享
  shareApp: function() {
    wx.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline']
    });
    console.log("分享小程序")
  },



  toggleView() {
        if (this.data.showView) {
          // 如果 View 已经显示，那么我们点击按钮将隐藏它
          this.hideView();
        } else {
          // 如果 View 隐藏，那么我们点击按钮将显示它
          this.showView();
        }
      },
      showView() {
        this.setData({
          animateClass: 'animate__animated animate__fadeInLeft', // 设置 View 的 class 以添加进入动画
          showView: true, // 显示 View
        });
      },
      hideView() {
        this.setData({
          animateClass: 'animate__animated animate__fadeOutLeft', // 设置 View 的 class 以添加离开动画
        });
        
        // 等待动画完成才隐藏 View
        setTimeout(() => {
          this.setData({
            showView: false, // 隐藏 View
          });
        }, 1000); // 这个时间应当与你的动画时间相匹配
      },
  


      // 点击头像，发送请求更换头像
  handleChangeAvatar: function(e) {
    var ThisIndex = e.currentTarget.dataset.index;
    let that = this;
    //console.log(ThisIndex)
    wx.request({
      url: 'http://47.95.223.130:8083/Sculpture/update',
      method: 'POST',
      header: {
        'content-type': 'application/x-www-form-urlencoded'
    },
      data: {
        user_id: that.data.userInfo.uuid,
        id: that.data.avatars[ThisIndex].id
      },
      success: function(res) {
        if(res.data.code === 200) {
            console.log(res)
        //   wx.showToast({
        //     title: '成功更换头像',
        //   })
          console.log(that.data.avatars[ThisIndex].id)
          that.setData({
            imageUrl: that.data.avatars[ThisIndex].imageUrl,
          })
            console.log(that.data.imageUrl)
        } else {
          wx.showToast({
            title: '更换头像失败',
            icon: 'none'
          })
        }
      },
      fail: function() {
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        })
      }
    })
  },




  'Key'(e){
        this.data.nickname1 = e.detail.value
      },
    handleInput: function(e) {
      this.setData({ inputValue: e.detail.value });
    },
    // handleConfirm2: function() {
    //   console.log(this.data.inputValue)
    //   if (this.data.inputValue === "" || this.data.inputValue === null || this.data.inputValue === undefined) {
    //     wx.showToast({
    //         title: '密钥不能为空',
    //         icon: 'none',
    //         duration: 1000
    //     })
    //   } else {
    //     var shiftedString = this.data.inputValue.split('').map(char => String.fromCharCode(char.charCodeAt(0) + 2)).join('');
    //     wx.setStorageSync('shiftedString', shiftedString);
    //     wx.showToast({   // 添加一个提示用户成功的Toast
    //         title: '存储密钥成功',
    //         icon: 'success',
    //         duration: 2000
    //      });
    //   }
    // //   var shiftedString = this.data.inputValue.split('').map(char => String.fromCharCode(char.charCodeAt(0) + 2)).join('');
    // //   if (shiftedString.trim() !== "") {
    // //     wx.setStorageSync('shiftedString', shiftedString);
    // //     wx.showToast({   // 添加一个提示用户成功的Toast
    // //       title: '存储密钥成功',
    // //       icon: 'success',
    // //       duration: 2000
    // //     });
    // //   } else {
    // //     wx.showToast({ title: '请输入密钥', icon: 'none' });
    // //   }
    //   this.setData({ showModal2: false }); // 确定后隐藏模态框
    // },
    // handleCancel2: function() {
    //   this.setData({ showModal2: false }); // 取消后隐藏模态框
    // },
    openModal: function() {
      this.setData({ showModal2: true }); // 点击按钮时弹出模态框
    },



    //拒绝
  close(e) {
    wx.showModal({
      editable:true,//显示输入框
      placeholderText:'本机账号密钥',//显示输入框提示信息
      success: res => {
        if (res.confirm) { //点击了确认
          console.log(res.content)//用户输入的值
          var inputValue = res.content;
          var shiftedString = inputValue.split('').map(char => String.fromCharCode(char.charCodeAt(0) + 2)).join('');
          if (shiftedString.trim() !== "") {
              console.log(shiftedString)
              wx.setStorageSync('shiftedString', shiftedString);
              wx.showToast({   // 添加一个提示用户成功的Toast
                title: '密钥存储成功',
                icon: 'success',
                duration: 2000
              });
          } else {
            wx.showToast({
                title: '密钥不能为空',
                icon: 'none',
                duration: 1000
            })
          }
  

        } else {
          console.log('用户点击了取消')
        }
      }
    })
  },



  logOff(){
    wx.showModal({
      title: '注销账号',
      placeholderText: '请输入密码',
      editable: true,
      success: (res) => {
        if (res.confirm) {
          let InPassword = res.content;
          let ThePassword = this.data.userInfo.password;
          if(ThePassword == InPassword){
            let that3 = this;
            wx.request({
                url: 'http://47.95.223.130:8083/User/delete', // 这里需要替换为你的服务器实际 URL
                
                data: {
                    nickname: that3.data.userInfo.nickname,
                    password: ThePassword
                },
                method: 'POST',
                header: {
                    'content-type': 'application/x-www-form-urlencoded'
                 },
                success (res) {
                  if(res.data.code === 200) {
                        wx.removeStorageSync('userInfo');
                        console.log('清空了系统缓存“userInfo”');
                        // 刷新当前页面
                        this.onShow();
                        console.log('已刷新页面');
                      
                  } else {
                    console.log('注销失败：' + res.data.message);
                  }
                },
                fail (err) {
                  console.log(err);
                }
              }); 

          } else {
            wx.showToast({
              icon: 'error',
              title: '密码错误',
            })
          }
               
        }
      }
    })
  },



//   onLoad: function () {
//     // 隐藏分享反馈
//     this.setData({ shareFeedback: '' });
//   }






      
      
});
